
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@casual-simulation/aux-vm-browser
Advanced tools
A set of utilities required to securely run an AUX in a web browser.
A set of utilities required to run an AUX in a web browser.
npm install @casual-simulation/aux-vm-browser
WorkerEntry.js
file to your Webpack config:entry: {
vm: path.resolve(
__dirname,
'node_modules',
'@casual-simulation',
'aux-vm-browser',
'html',
'WorkerEntry.js'
),
},
iframe_host.html
file to your webpack config via the HtmlWebpackPlugin
:new HtmlWebpackPlugin({
chunks: ['vm'],
template: path.resolve(
__dirname,
'node_modules',
'@casual-simulation',
'aux-vm-browser',
'html',
'iframe_host.html'
),
title: 'AUX VM',
filename: 'aux-vm-iframe.html',
}),
aux-vm-iframe.html
is available at the root path of the site.import { BotManager } from '@casual-simulation/aux-vm-browser';
import { AuxUser } from '@casual-simulation/aux-vm';
start();
async function start() {
// The user that we want the program to act as.
// In a real-world scenario we would not hardcode these values
// and we would store the token in a secure location.
const user: AuxUser = {
id: 'myUserId', // The Unique ID of this user session.
username: 'myUsername', // The unique username of the user.
name: 'myName', // The common name of the user.
token: 'mySecretToken', // The user password.
isGuest: false, // Whether the user should be treated as a guest.
};
// The ID of the channel that should be loaded.
// The ID can have the following forms:
// - 'channelId' - This will load 'channelId' from the current host (taken from navigator).
// - 'https://example.com/*/channelId' - This will load 'channelId' from example.com over https
const id = 'channelId';
// Create a file manager.
// This represents an in-browser AUX simulation.
const sim = new BotManager(user, id, {
isBuilder: false,
isPlayer: false,
});
// Initialize the simulation.
// This will setup a web worker and pipe
// events between the worker and main thread.
await sim.init();
// Listen for the sync state to change to "synced".
// When we're synced we know we have the most up to date data
// and we can communicate our changes to the server.
// Note that this will not fire if we are not allowed to connect.
// This may happen if we are not authenticated/authorized.
sim.connection.syncStateChanged.subscribe((synced) => {
if (synced) {
console.log("We're synced!");
// TODO: Update THE UI
} else {
console.log('No longer synced.');
// TODO: Update the UI
}
});
}
FAQs
A set of utilities required to securely run an AUX in a web browser.
We found that @casual-simulation/aux-vm-browser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.